package com.dodo.videoEdit;

import android.database.sqlite.SQLiteDatabase;

import com.dodo.proiectCore.base.application.BaseApplication;
import com.dodo.videoEdit.greendao.DaoMaster;
import com.dodo.videoEdit.greendao.DaoSession;
import com.dodo.videoEdit.greendao.MyGreenDaoUpgradeOpenHelper;

/**
 * @Created by  .
 * @时间 2018/5/14 17:40
 * @描述 ${应用的application}
 */

public class MyApplication extends BaseApplication {

    private static MyApplication myApplication;
    private static DaoSession mDaoSession;
    private SQLiteDatabase db;

    //初始化
    public static MyApplication getAppInstance() {
        return myApplication;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        myApplication = this ;
    }

    @Override
    public void init() {
        super.init();
        initGreenDao();
    }
    private void  initGreenDao(){
        // 通过 DaoMaster 的内部类 DevOpenHelper，你可以得到一个便利的 SQLiteOpenHelper 对象。
        // 可能你已经注意到了，你并不需要去编写「CREATE TABLE」这样的 SQL 语句，因为 greenDAO已经帮你做了。
        // 注意：默认的 DaoMaster.DevOpenHelper 会在数据库升级时，删除所有的表，意味着这将导致数据的丢失。
        // 所以，在正式的项目中，你还应该做一层封装，来实现数据库的安全升级。
       MyGreenDaoUpgradeOpenHelper mHelper = new MyGreenDaoUpgradeOpenHelper(this,"dodo-db"
        );
        db = mHelper.getWritableDatabase();
        // 注意：该数据库连接属于 DaoMaster，所以多个 Session 指的是相同的数据库连接。
        DaoMaster mDaoMaster = new DaoMaster(db);
        mDaoSession = mDaoMaster.newSession();
    }
    public DaoSession getDaoSession() {
        return mDaoSession;
    }
    public SQLiteDatabase getDb() {
        return db;
    }
}
